package com.ynet.middleground.riskmanage.bean.hangxin;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.ynet.core.common.BaseReqObj;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotEmpty;

/**
 * @author songyf
 * @description 发票打印信息
 * @date 2021-11-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "纸票作废请求信息", description = "纸票作废请求信息")
public class YzpzfReq extends BaseReqObj {

    private static final long serialVersionUID = -6934261938509401063L;

    @XStreamAlias("NSRSBH")
    @ApiModelProperty(value = "纳税人识别号", notes = "纳税人识别号", required = true)
    @NotEmpty(message = "纳税人识别号不能为空")
    private String nsrsbh;

    @XStreamAlias("FPQQLSH")
    @ApiModelProperty(value = "发票请求流水号", notes = "发票请求流水号", required = true)
    @NotEmpty(message = "发票请求流水号不能为空")
    private String fpqqlsh;

    @XStreamAlias("FJH")
    @ApiModelProperty(value = "分机号,0是主机,非0是分机。范围0-65535", notes = "分机号,0是主机,非0是分机。范围0-65535", required = true)
    @NotEmpty(message = "分机号不能为空")
    private String fjh;

    @XStreamAlias("FPDM")
    @ApiModelProperty(value = "发票代码,发票代码与发票号码两者必须有一个", notes = "发票代码,发票代码与发票号码两者必须有一个")
    @NotEmpty(message = "发票代码不能为空")
    private String fpdm;

    @XStreamAlias("FPHM")
    @ApiModelProperty(value = "发票号码,发票代码与发票号码两者必须有一个", notes = "发票号码,发票代码与发票号码两者必须有一个")
    private String fphm;

    @XStreamAlias("KPLX")
    @ApiModelProperty(value = "开票类型。4:蓝票作废；5:红票作废", notes = "开票类型。4:蓝票作废；5:红票作废")
    @NotEmpty(message = "开票类型不能为空")
    private String kplx;
}
